Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.02.2010, 06:52
Новичок на форуме
Отправить личное сообщение для pizzZ Посмотреть профиль Найти все сообщения от pizzZ
 
Регистрация: 17.11.2009
Сообщений: 5

30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма.
Привет всем. Имеем следующее.

2 скрипта на сервере. Допустим login.php и loginpost.php
Первый, выводит форму. Второй получает данные из формы.

Второй скрипт, если все плохо, или все хорошо, или все средне возвращает 30(1|2) редирект.

Добавляю Аякс. На форму вещаю обработчик, который при нажатии пользователем кнопки отправить, проверяет данные в форме, и отправляет данные на скрипт loginpost.php.
Loginpost.php модифицирую так, чтобы если все плохо, и запрос Ajax возврашался объект с ошибками в формате JSON. Если все хорошо, вместо 30(1|2) редиректа возвращаю редирект для javascript.

Проблема в следующем, как сделать обработчик ответа от loginpost.php
У меня есть следующие варианты.

Если запрос Ajax и требуеться сделать редирект loginpost.php возврашает window.location = урл. А в обработчике запроса, мы проверяем ответ сервера, если начинаеться с window то выполняем как просто javascript через eval, иначе обрабатываем с помощью eval как json ответ.

Либо сделать тоже самое, но вместо window.location = урл loginpost.php будет возврашать json всегда, но тогда в обработчике ответа нужно после создания json проверять, есть ли в объекте свойство redirect и если есть, то редиректить.

Или есть еще более просто способ? И если нет. Каким бы вы воспользовались?

P.s. Извините что несколько сумбурно написал.
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2010, 07:25
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

А как насчёт вложенных объектов, масивов и т.п.? Т.е. первый элемент содержит информацию о типе ответа т.е. как там выполнилось с ошибками или без и по значению этого элемента вы определяите как обрабатывать второй элемент ответа.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #3 (permalink)  
Старый 18.02.2010, 09:06
Новичок на форуме
Отправить личное сообщение для pizzZ Посмотреть профиль Найти все сообщения от pizzZ
 
Регистрация: 17.11.2009
Сообщений: 5

В общем понятно
Хотелось бы чтобы Ajax отрабатывал 301 редирект для всей страницы а не для запроса.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24